home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997 September / Macworld (1997-09).dmg / Serious Software / Cherwell Scientific Demos / pro Fit / pro Fit 5.0 demo (ppc).sea / pro Fit 5.0 demo (ppc) / External Modules / Plot3D sources / Plot3DDataRowCol.c < prev    next >
MacBinary  |  1996-07-18  |  10.6 KB  |  [TEXT/CWIE]

view JSON data     |     view as text     |     open on a Mac     |     open on a PC

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: Plot3DDataRowCol.c

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Thu Jul 18 22:10:56 1996, modified Thu Jul 18 22:10:56 1996, creator 'CWIE', type ASCII, 10113 bytes "Plot3DDataRowCol.c" , at 0x2801 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 12 50 6c 6f 74 33 44 | 44 61 74 61 52 6f 77 43 |..Plot3D|DataRowC|
|00000010| 6f 6c 2e 63 00 00 00 00 | 00 00 00 00 00 00 00 00 |ol.c....|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 27 81 00 | 00 01 9a ae 14 9f 30 ae |.....'..|......0.|
|00000060| 14 9f 30 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..0.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 9e 94 00 00 |........|........|
|00000080| 23 69 6e 63 6c 75 64 65 | 20 22 70 72 6f 46 69 74 |#include| "proFit|
|00000090| 5f 69 6e 74 65 72 66 61 | 63 65 2e 68 22 0d 0d 23 |_interfa|ce.h"..#|
|000000a0| 69 66 6e 64 65 66 20 5f | 5f 4d 4f 44 55 4c 45 5f |ifndef _|_MODULE_|
|000000b0| 55 54 49 4c 49 54 49 45 | 53 5f 5f 0d 23 69 6e 63 |UTILITIE|S__.#inc|
|000000c0| 6c 75 64 65 20 22 4d 6f | 64 75 6c 65 55 74 69 6c |lude "Mo|duleUtil|
|000000d0| 69 74 69 65 73 2e 68 22 | 0d 23 65 6e 64 69 66 0d |ities.h"|.#endif.|
|000000e0| 23 69 66 6e 64 65 66 20 | 5f 5f 53 54 52 49 4e 47 |#ifndef |__STRING|
|000000f0| 5f 53 55 50 50 4f 52 54 | 5f 5f 0d 23 69 6e 63 6c |_SUPPORT|__.#incl|
|00000100| 75 64 65 20 22 53 74 72 | 69 6e 67 53 75 70 70 6f |ude "Str|ingSuppo|
|00000110| 72 74 2e 68 22 0d 23 65 | 6e 64 69 66 0d 23 69 66 |rt.h".#e|ndif.#if|
|00000120| 6e 64 65 66 20 5f 5f 50 | 4c 4f 54 54 45 52 5f 33 |ndef __P|LOTTER_3|
|00000130| 44 5f 5f 0d 23 69 6e 63 | 6c 75 64 65 20 22 50 6c |D__.#inc|lude "Pl|
|00000140| 6f 74 74 65 72 33 44 2e | 68 22 0d 23 65 6e 64 69 |otter3D.|h".#endi|
|00000150| 66 0d 0d 23 69 6e 63 6c | 75 64 65 20 3c 51 44 33 |f..#incl|ude <QD3|
|00000160| 44 47 65 6f 6d 65 74 72 | 79 2e 68 3e 0d 23 69 6e |DGeometr|y.h>.#in|
|00000170| 63 6c 75 64 65 20 3c 51 | 44 33 44 53 65 74 2e 68 |clude <Q|D3DSet.h|
|00000180| 3e 0d 23 69 6e 63 6c 75 | 64 65 20 3c 51 44 33 44 |>.#inclu|de <QD3D|
|00000190| 53 74 79 6c 65 2e 68 3e | 0d 0d 23 69 6e 63 6c 75 |Style.h>|..#inclu|
|000001a0| 64 65 20 3c 66 70 2e 68 | 3e 0d 0d 73 74 61 74 69 |de <fp.h|>..stati|
|000001b0| 63 20 42 6f 6f 6c 65 61 | 6e 09 09 7a 41 75 74 6f |c Boolea|n..zAuto|
|000001c0| 6d 61 74 69 63 20 3d 20 | 74 72 75 65 3b 0d 0d 73 |matic = |true;..s|
|000001d0| 74 61 74 69 63 20 6c 6f | 6e 67 09 09 09 78 52 65 |tatic lo|ng...xRe|
|000001e0| 73 3d 32 35 2c 20 79 52 | 65 73 3d 32 35 3b 09 09 |s=25, yR|es=25;..|
|000001f0| 2f 2f 20 72 65 73 6f 6c | 75 74 69 6f 6e 20 61 6c |// resol|ution al|
|00000200| 6f 6e 67 20 78 2c 20 79 | 0d 0d 0d 74 79 70 65 64 |ong x, y|...typed|
|00000210| 65 66 20 73 74 72 75 63 | 74 09 09 09 09 09 09 09 |ef struc|t.......|
|00000220| 2f 2f 20 74 68 65 20 73 | 74 72 75 63 74 20 72 65 |// the s|truct re|
|00000230| 74 75 72 6e 65 64 20 62 | 79 20 44 61 74 61 41 72 |turned b|y DataAr|
|00000240| 72 61 79 45 6c 65 6d 65 | 6e 74 0d 7b 0d 09 64 6f |rayEleme|nt.{..do|
|00000250| 75 62 6c 65 09 7a 3b 09 | 09 09 09 09 09 09 2f 2f |uble.z;.|......//|
|00000260| 20 74 68 65 20 7a 2d 76 | 61 6c 75 65 20 61 74 20 | the z-v|alue at |
|00000270| 74 68 69 73 20 70 6f 69 | 6e 74 0d 09 6c 6f 6e 67 |this poi|nt..long|
|00000280| 09 76 61 6c 69 64 3b 09 | 09 09 09 09 09 2f 2f 20 |.valid;.|.....// |
|00000290| 74 72 75 65 20 69 66 20 | 7a 2d 70 6f 69 6e 74 20 |true if |z-point |
|000002a0| 69 73 20 76 61 6c 69 64 | 0d 09 76 6f 69 64 2a 09 |is valid|..void*.|
|000002b0| 6d 65 73 68 56 65 72 74 | 65 78 3b 09 09 09 09 09 |meshVert|ex;.....|
|000002c0| 2f 2f 20 6d 65 73 68 20 | 76 65 72 74 65 78 0d 7d |// mesh |vertex.}|
|000002d0| 20 41 72 72 61 79 45 6e | 74 72 79 3b 0d 0d 73 74 | ArrayEn|try;..st|
|000002e0| 61 74 69 63 20 41 72 72 | 61 79 45 6e 74 72 79 2a |atic Arr|ayEntry*|
|000002f0| 2a 09 09 64 61 74 61 41 | 72 72 61 79 3d 6e 69 6c |*..dataA|rray=nil|
|00000300| 3b 09 09 2f 2f 20 32 44 | 2d 61 72 72 61 79 20 68 |;..// 2D|-array h|
|00000310| 6f 6c 64 69 6e 67 20 66 | 75 6e 63 74 69 6f 6e 27 |olding f|unction'|
|00000320| 73 20 76 61 6c 75 65 73 | 0d 09 09 09 09 09 09 09 |s values|........|
|00000330| 09 09 09 09 2f 2f 20 74 | 68 65 20 73 69 7a 65 20 |....// t|he size |
|00000340| 69 73 20 67 69 76 65 6e | 20 62 79 20 78 52 65 73 |is given| by xRes|
|00000350| 2c 20 79 52 65 73 0d 09 | 09 09 09 09 09 09 09 09 |, yRes..|........|
|00000360| 09 09 2f 2f 20 75 73 65 | 20 44 61 74 61 41 72 72 |..// use| DataArr|
|00000370| 61 79 45 6e 74 72 79 20 | 66 6f 72 20 61 63 63 65 |ayEntry |for acce|
|00000380| 73 73 0d 73 74 61 74 69 | 63 20 64 6f 75 62 6c 65 |ss.stati|c double|
|00000390| 20 64 61 74 61 58 4d 69 | 6e 2c 20 64 61 74 61 59 | dataXMi|n, dataY|
|000003a0| 4d 69 6e 3b 09 09 09 2f | 2f 20 78 2f 79 20 63 6f |Min;.../|/ x/y co|
|000003b0| 6f 72 64 69 6e 61 74 65 | 20 6f 66 20 62 6f 74 74 |ordinate| of bott|
|000003c0| 6f 6d 20 6c 65 66 74 20 | 70 6f 69 6e 74 20 69 6e |om left |point in|
|000003d0| 20 64 61 74 61 41 72 72 | 61 79 0d 73 74 61 74 69 | dataArr|ay.stati|
|000003e0| 63 20 64 6f 75 62 6c 65 | 20 64 61 74 61 44 58 2c |c double| dataDX,|
|000003f0| 20 64 61 74 61 44 59 3b | 09 09 09 09 2f 2f 20 78 | dataDY;|....// x|
|00000400| 2d 20 79 2d 73 74 65 70 | 73 20 69 6e 20 64 61 74 |- y-step|s in dat|
|00000410| 61 41 72 72 61 79 20 62 | 65 74 77 65 65 6e 20 6e |aArray b|etween n|
|00000420| 65 69 67 68 62 6f 75 72 | 69 6e 67 20 70 6f 69 6e |eighbour|ing poin|
|00000430| 74 73 0d 0d 0d 73 74 61 | 74 69 63 20 52 65 63 74 |ts...sta|tic Rect|
|00000440| 09 09 09 09 73 65 74 75 | 70 44 69 61 6c 6f 67 52 |....setu|pDialogR|
|00000450| 65 63 74 20 3d 20 7b 30 | 2c 30 2c 30 2c 30 7d 3b |ect = {0|,0,0,0};|
|00000460| 09 09 2f 2f 20 64 65 66 | 61 75 6c 74 20 70 6f 73 |..// def|ault pos|
|00000470| 69 74 69 6f 6e 73 20 6f | 66 20 64 69 61 6c 6f 67 |itions o|f dialog|
|00000480| 73 0d 73 74 61 74 69 63 | 20 52 65 63 74 09 09 09 |s.static| Rect...|
|00000490| 09 68 65 6c 70 44 69 61 | 6c 6f 67 52 65 63 74 20 |.helpDia|logRect |
|000004a0| 3d 20 7b 30 2c 30 2c 30 | 2c 30 7d 3b 0d 0d 73 74 |= {0,0,0|,0};..st|
|000004b0| 61 74 69 63 20 6c 6f 6e | 67 09 6d 69 6e 52 6f 77 |atic lon|g.minRow|
|000004c0| 3d 30 2c 20 6d 61 78 52 | 6f 77 3d 30 3b 09 09 09 |=0, maxR|ow=0;...|
|000004d0| 2f 2f 20 6d 69 6e 20 61 | 6e 64 20 6d 61 78 20 72 |// min a|nd max r|
|000004e0| 6f 77 73 20 28 30 20 69 | 66 20 75 6e 64 65 66 69 |ows (0 i|f undefi|
|000004f0| 6e 65 64 29 0d 73 74 61 | 74 69 63 20 6c 6f 6e 67 |ned).sta|tic long|
|00000500| 20 6d 69 6e 43 6f 6c 3d | 30 2c 20 6d 61 78 43 6f | minCol=|0, maxCo|
|00000510| 6c 3d 30 3b 09 09 09 2f | 2f 20 6d 69 6e 20 61 6e |l=0;.../|/ min an|
|00000520| 64 20 6d 61 78 20 63 6f | 6c 75 6d 6e 73 20 28 30 |d max co|lumns (0|
|00000530| 20 69 66 20 75 6e 64 65 | 66 69 6e 65 64 29 0d 73 | if unde|fined).s|
|00000540| 74 61 74 69 63 20 6c 6f | 6e 67 20 64 61 74 61 57 |tatic lo|ng dataW|
|00000550| 69 6e 64 6f 77 3d 30 3b | 09 09 09 09 2f 2f 20 74 |indow=0;|....// t|
|00000560| 68 65 20 64 61 74 61 20 | 77 69 6e 64 6f 77 20 74 |he data |window t|
|00000570| 6f 20 61 63 63 65 73 73 | 20 28 30 20 69 66 20 75 |o access| (0 if u|
|00000580| 6e 64 65 66 69 6e 65 64 | 29 0d 0d 0d 42 6f 6f 6c |ndefined|)...Bool|
|00000590| 65 61 6e 20 49 6e 69 74 | 50 6c 6f 74 44 61 74 61 |ean Init|PlotData|
|000005a0| 52 6f 77 43 6f 6c 28 76 | 6f 69 64 29 0d 09 2f 2f |RowCol(v|oid)..//|
|000005b0| 20 74 68 69 73 20 66 75 | 6e 63 20 69 73 20 63 61 | this fu|nc is ca|
|000005c0| 6c 6c 65 64 20 77 68 65 | 6e 20 50 6c 6f 74 74 65 |lled whe|n Plotte|
|000005d0| 72 33 44 20 73 74 61 72 | 74 73 2e 20 49 74 20 73 |r3D star|ts. It s|
|000005e0| 68 6f 75 6c 64 20 72 65 | 74 75 72 6e 20 66 61 6c |hould re|turn fal|
|000005f0| 73 65 0d 09 2f 2f 20 69 | 66 20 77 65 20 73 68 6f |se..// i|f we sho|
|00000600| 75 6c 64 20 65 78 69 74 | 0d 7b 0d 09 64 61 74 61 |uld exit|.{..data|
|00000610| 41 72 72 61 79 20 3d 20 | 6e 69 6c 3b 0d 0d 09 72 |Array = |nil;...r|
|00000620| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 7d 0d 0d 76 |eturn tr|ue;.}..v|
|00000630| 6f 69 64 20 43 6c 65 61 | 6e 75 70 50 6c 6f 74 44 |oid Clea|nupPlotD|
|00000640| 61 74 61 52 6f 77 43 6f | 6c 28 76 6f 69 64 29 0d |ataRowCo|l(void).|
|00000650| 09 2f 2f 20 74 68 69 73 | 20 66 75 6e 63 20 69 73 |.// this| func is|
|00000660| 20 63 61 6c 6c 65 64 20 | 77 68 65 6e 20 50 6c 6f | called |when Plo|
|00000670| 74 74 65 72 33 44 20 65 | 78 69 74 73 2e 0d 7b 0d |tter3D e|xits..{.|
|00000680| 09 69 66 20 28 64 61 74 | 61 41 72 72 61 79 20 21 |.if (dat|aArray !|
|00000690| 3d 20 6e 69 6c 29 20 44 | 69 73 70 6f 73 65 48 61 |= nil) D|isposeHa|
|000006a0| 6e 64 6c 65 28 28 48 61 | 6e 64 6c 65 29 64 61 74 |ndle((Ha|ndle)dat|
|000006b0| 61 41 72 72 61 79 29 3b | 0d 7d 0d 0d 23 70 72 61 |aArray);|.}..#pra|
|000006c0| 67 6d 61 20 6d 61 72 6b | 20 2d 0d 0d 73 74 61 74 |gma mark| -..stat|
|000006d0| 69 63 20 41 72 72 61 79 | 45 6e 74 72 79 2a 20 44 |ic Array|Entry* D|
|000006e0| 61 74 61 41 72 72 61 79 | 45 6c 65 6d 65 6e 74 28 |ataArray|Element(|
|000006f0| 6c 6f 6e 67 20 72 6f 77 | 2c 20 6c 6f 6e 67 20 63 |long row|, long c|
|00000700| 6f 6c 29 0d 09 2f 2f 20 | 72 65 74 75 72 6e 73 20 |ol)..// |returns |
|00000710| 70 6f 69 6e 74 65 72 20 | 74 6f 20 61 6e 20 65 6e |pointer |to an en|
|00000720| 74 72 79 20 69 6e 20 64 | 61 74 61 41 72 72 61 79 |try in d|ataArray|
|00000730| 0d 7b 0d 09 72 65 74 75 | 72 6e 20 28 2a 64 61 74 |.{..retu|rn (*dat|
|00000740| 61 41 72 72 61 79 20 2b | 20 28 78 52 65 73 2a 72 |aArray +| (xRes*r|
|00000750| 6f 77 20 2b 20 63 6f 6c | 29 29 3b 0d 7d 0d 0d 73 |ow + col|));.}..s|
|00000760| 74 61 74 69 63 20 64 6f | 75 62 6c 65 20 47 65 74 |tatic do|uble Get|
|00000770| 44 61 74 61 41 72 72 61 | 79 28 6c 6f 6e 67 20 72 |DataArra|y(long r|
|00000780| 6f 77 2c 20 6c 6f 6e 67 | 20 63 6f 6c 29 09 0d 09 |ow, long| col)...|
|00000790| 2f 2f 20 72 65 74 75 72 | 6e 73 20 61 20 76 61 6c |// retur|ns a val|
|000007a0| 75 65 20 66 72 6f 6d 20 | 64 61 74 61 41 72 72 61 |ue from |dataArra|
|000007b0| 79 0d 7b 0d 09 72 65 74 | 75 72 6e 20 2a 28 64 6f |y.{..ret|urn *(do|
|000007c0| 75 62 6c 65 2a 29 28 2a | 64 61 74 61 41 72 72 61 |uble*)(*|dataArra|
|000007d0| 79 20 2b 20 73 69 7a 65 | 6f 66 28 64 6f 75 62 6c |y + size|of(doubl|
|000007e0| 65 29 2a 28 78 52 65 73 | 2a 72 6f 77 20 2b 20 63 |e)*(xRes|*row + c|
|000007f0| 6f 6c 29 29 3b 0d 7d 0d | 0d 73 74 61 74 69 63 20 |ol));.}.|.static |
|00000800| 76 6f 69 64 20 53 65 74 | 44 61 74 61 41 72 72 61 |void Set|DataArra|
|00000810| 79 28 6c 6f 6e 67 20 72 | 6f 77 2c 20 6c 6f 6e 67 |y(long r|ow, long|
|00000820| 20 63 6f 6c 2c 20 64 6f | 75 62 6c 65 20 76 61 6c | col, do|uble val|
|00000830| 75 65 29 0d 09 2f 2f 20 | 73 65 74 73 20 61 20 76 |ue)..// |sets a v|
|00000840| 61 6c 75 65 20 69 6e 20 | 64 61 74 61 41 72 72 61 |alue in |dataArra|
|00000850| 79 0d 7b 0d 09 2a 28 64 | 6f 75 62 6c 65 2a 29 28 |y.{..*(d|ouble*)(|
|00000860| 2a 64 61 74 61 41 72 72 | 61 79 20 2b 20 73 69 7a |*dataArr|ay + siz|
|00000870| 65 6f 66 28 64 6f 75 62 | 6c 65 29 2a 28 78 52 65 |eof(doub|le)*(xRe|
|00000880| 73 2a 72 6f 77 20 2b 20 | 63 6f 6c 29 29 20 3d 20 |s*row + |col)) = |
|00000890| 76 61 6c 75 65 3b 0d 7d | 0d 0d 0d 73 74 61 74 69 |value;.}|...stati|
|000008a0| 63 20 42 6f 6f 6c 65 61 | 6e 20 43 61 6c 63 75 6c |c Boolea|n Calcul|
|000008b0| 61 74 65 44 61 74 61 41 | 72 72 61 79 28 76 6f 69 |ateDataA|rray(voi|
|000008c0| 64 29 0d 09 2f 2f 20 73 | 65 74 73 20 75 70 20 74 |d)..// s|ets up t|
|000008d0| 68 65 20 76 61 6c 75 65 | 73 20 6f 66 20 64 61 74 |he value|s of dat|
|000008e0| 61 41 72 72 61 79 0d 7b | 0d 09 6c 6f 6e 67 09 72 |aArray.{|..long.r|
|000008f0| 2c 20 63 3b 0d 09 64 6f | 75 62 6c 65 09 78 2c 20 |, c;..do|uble.x, |
|00000900| 79 3b 0d 09 42 6f 6f 6c | 65 61 6e 09 72 65 74 76 |y;..Bool|ean.retv|
|00000910| 61 6c 20 3d 20 66 61 6c | 73 65 3b 0d 09 64 6f 75 |al = fal|se;..dou|
|00000920| 62 6c 65 09 6d 69 6e 20 | 3d 20 48 55 47 45 5f 56 |ble.min |= HUGE_V|
|00000930| 41 4c 3b 0d 09 64 6f 75 | 62 6c 65 09 6d 61 78 20 |AL;..dou|ble.max |
|00000940| 3d 20 2d 48 55 47 45 5f | 56 41 4c 3b 0d 09 6c 6f |= -HUGE_|VAL;..lo|
|00000950| 6e 67 09 6f 72 69 67 43 | 75 72 72 65 6e 74 57 69 |ng.origC|urrentWi|
|00000960| 6e 64 6f 77 20 3d 20 47 | 65 74 43 75 72 72 65 6e |ndow = G|etCurren|
|00000970| 74 57 69 6e 64 6f 77 28 | 64 61 74 61 54 79 70 65 |tWindow(|dataType|
|00000980| 29 3b 0d 09 64 6f 75 62 | 6c 65 09 78 4d 69 6e 2c |);..doub|le.xMin,|
|00000990| 20 78 4d 61 78 2c 20 79 | 4d 69 6e 2c 20 79 4d 61 | xMax, y|Min, yMa|
|000009a0| 78 3b 0d 0d 09 47 65 74 | 47 72 61 66 52 61 6e 67 |x;...Get|GrafRang|
|000009b0| 65 28 30 2c 20 26 78 4d | 69 6e 2c 20 26 78 4d 61 |e(0, &xM|in, &xMa|
|000009c0| 78 29 3b 0d 09 47 65 74 | 47 72 61 66 52 61 6e 67 |x);..Get|GrafRang|
|000009d0| 65 28 31 2c 20 26 79 4d | 69 6e 2c 20 26 79 4d 61 |e(1, &yM|in, &yMa|
|000009e0| 78 29 3b 0d 09 69 66 20 | 28 64 61 74 61 41 72 72 |x);..if |(dataArr|
|000009f0| 61 79 20 21 3d 20 6e 69 | 6c 29 20 44 69 73 70 6f |ay != ni|l) Dispo|
|00000a00| 73 65 48 61 6e 64 6c 65 | 28 28 48 61 6e 64 6c 65 |seHandle|((Handle|
|00000a10| 29 64 61 74 61 41 72 72 | 61 79 29 3b 09 09 09 2f |)dataArr|ay);.../|
|00000a20| 2f 20 69 66 20 74 68 65 | 72 65 27 73 20 73 74 69 |/ if the|re's sti|
|00000a30| 6c 6c 20 64 61 74 61 20 | 69 6e 20 69 74 0d 0d 09 |ll data |in it...|
|00000a40| 64 61 74 61 41 72 72 61 | 79 20 3d 20 28 41 72 72 |dataArra|y = (Arr|
|00000a50| 61 79 45 6e 74 72 79 2a | 2a 29 4e 65 77 48 61 6e |ayEntry*|*)NewHan|
|00000a60| 64 6c 65 43 6c 65 61 72 | 28 73 69 7a 65 6f 66 28 |dleClear|(sizeof(|
|00000a70| 41 72 72 61 79 45 6e 74 | 72 79 29 2a 78 52 65 73 |ArrayEnt|ry)*xRes|
|00000a80| 2a 79 52 65 73 29 3b 0d | 09 69 66 20 28 64 61 74 |*yRes);.|.if (dat|
|00000a90| 61 41 72 72 61 79 20 3d | 3d 20 6e 69 6c 29 20 67 |aArray =|= nil) g|
|00000aa0| 6f 74 6f 20 64 6f 6e 65 | 3b 0d 09 48 4c 6f 63 6b |oto done|;..HLock|
|00000ab0| 28 28 48 61 6e 64 6c 65 | 29 64 61 74 61 41 72 72 |((Handle|)dataArr|
|00000ac0| 61 79 29 3b 0d 09 69 66 | 20 28 6f 72 69 67 43 75 |ay);..if| (origCu|
|00000ad0| 72 72 65 6e 74 57 69 6e | 64 6f 77 3d 3d 30 20 7c |rrentWin|dow==0 ||
|00000ae0| 7c 20 64 61 74 61 57 69 | 6e 64 6f 77 3d 3d 20 30 || dataWi|ndow== 0|
|00000af0| 29 20 67 6f 74 6f 20 64 | 6f 6e 65 3b 09 09 09 2f |) goto d|one;.../|
|00000b00| 2f 20 73 68 6f 75 6c 64 | 20 6e 65 76 65 72 20 68 |/ should| never h|
|00000b10| 61 70 70 65 6e 0d 09 53 | 65 74 43 75 72 72 65 6e |appen..S|etCurren|
|00000b20| 74 57 69 6e 64 6f 77 28 | 64 61 74 61 57 69 6e 64 |tWindow(|dataWind|
|00000b30| 6f 77 29 3b 0d 0d 09 64 | 61 74 61 44 58 20 3d 20 |ow);...d|ataDX = |
|00000b40| 28 78 4d 61 78 20 2d 20 | 78 4d 69 6e 29 2f 28 78 |(xMax - |xMin)/(x|
|00000b50| 52 65 73 2d 31 2e 30 30 | 30 30 30 30 30 30 30 31 |Res-1.00|00000001|
|00000b60| 29 3b 09 09 2f 2f 20 74 | 68 65 20 63 6f 72 72 65 |);..// t|he corre|
|00000b70| 63 74 69 6f 6e 20 28 30 | 2e 30 30 2e 2e 30 31 29 |ction (0|.00..01)|
|00000b80| 20 6d 61 6b 65 73 20 73 | 75 72 65 20 74 68 61 74 | makes s|ure that|
|00000b90| 20 74 68 65 20 6c 61 73 | 74 20 70 6f 69 6e 74 20 | the las|t point |
|00000ba0| 28 61 74 20 78 4d 61 78 | 29 20 69 73 20 75 73 65 |(at xMax|) is use|
|00000bb0| 64 20 61 73 20 77 65 6c | 6c 0d 09 64 61 74 61 44 |d as wel|l..dataD|
|00000bc0| 59 20 3d 20 28 79 4d 61 | 78 20 2d 20 79 4d 69 6e |Y = (yMa|x - yMin|
|00000bd0| 29 2f 28 79 52 65 73 2d | 31 2e 30 30 30 30 30 30 |)/(yRes-|1.000000|
|00000be0| 30 30 30 31 29 3b 0d 09 | 64 61 74 61 58 4d 69 6e |0001);..|dataXMin|
|00000bf0| 20 3d 20 78 4d 69 6e 3b | 20 64 61 74 61 59 4d 69 | = xMin;| dataYMi|
|00000c00| 6e 20 3d 20 79 4d 69 6e | 3b 0d 09 78 20 3d 20 64 |n = yMin|;..x = d|
|00000c10| 61 74 61 58 4d 69 6e 3b | 09 09 09 09 09 09 09 09 |ataXMin;|........|
|00000c20| 09 2f 2f 20 63 61 6c 63 | 75 6c 61 74 65 20 64 61 |.// calc|ulate da|
|00000c30| 74 61 41 72 72 61 79 0d | 09 66 6f 72 20 28 63 3d |taArray.|.for (c=|
|00000c40| 6d 69 6e 43 6f 6c 3b 20 | 63 3c 3d 6d 61 78 43 6f |minCol; |c<=maxCo|
|00000c50| 6c 3b 20 63 2b 2b 29 0d | 09 7b 09 79 20 3d 20 64 |l; c++).|.{.y = d|
|00000c60| 61 74 61 59 4d 69 6e 3b | 0d 09 09 66 6f 72 20 28 |ataYMin;|...for (|
|00000c70| 72 3d 6d 69 6e 52 6f 77 | 3b 20 72 3c 3d 6d 61 78 |r=minRow|; r<=max|
|00000c80| 52 6f 77 3b 20 72 2b 2b | 29 0d 09 09 7b 09 64 6f |Row; r++|)...{.do|
|00000c90| 75 62 6c 65 09 7a 3b 0d | 09 09 09 41 72 72 61 79 |uble.z;.|...Array|
|00000ca0| 45 6e 74 72 79 2a 09 65 | 20 3d 20 44 61 74 61 41 |Entry*.e| = DataA|
|00000cb0| 72 72 61 79 45 6c 65 6d | 65 6e 74 28 72 2d 6d 69 |rrayElem|ent(r-mi|
|00000cc0| 6e 52 6f 77 2c 63 2d 6d | 69 6e 43 6f 6c 29 3b 0d |nRow,c-m|inCol);.|
|00000cd0| 09 09 09 65 2d 3e 76 61 | 6c 69 64 20 3d 20 54 65 |...e->va|lid = Te|
|00000ce0| 73 74 44 61 74 61 28 72 | 2c 63 29 3b 0d 09 09 09 |stData(r|,c);....|
|00000cf0| 69 66 20 28 65 2d 3e 76 | 61 6c 69 64 29 0d 09 09 |if (e->v|alid)...|
|00000d00| 09 7b 09 65 2d 3e 7a 20 | 3d 20 7a 20 3d 20 47 65 |.{.e->z |= z = Ge|
|00000d10| 74 44 61 74 61 28 72 2c | 63 29 3b 0d 09 09 09 09 |tData(r,|c);.....|
|00000d20| 69 66 20 28 6d 69 6e 20 | 3e 20 7a 29 20 6d 69 6e |if (min |> z) min|
|00000d30| 3d 7a 3b 0d 09 09 09 09 | 69 66 20 28 6d 61 78 20 |=z;.....|if (max |
|00000d40| 3c 20 7a 29 20 6d 61 78 | 3d 7a 3b 0d 09 09 09 7d |< z) max|=z;....}|
|00000d50| 09 09 0d 2f 2f 09 09 09 | 44 61 74 61 41 72 72 61 |...//...|DataArra|
|00000d60| 79 45 6c 65 6d 65 6e 74 | 28 72 2c 20 63 29 2d 3e |yElement|(r, c)->|
|00000d70| 7a 20 3d 20 7a 3b 0d 2f | 2f 09 09 09 53 65 74 44 |z = z;./|/...SetD|
|00000d80| 61 74 61 41 72 72 61 79 | 28 72 2c 20 63 2c 20 7a |ataArray|(r, c, z|
|00000d90| 29 3b 0d 09 09 09 79 20 | 2b 3d 20 64 61 74 61 44 |);....y |+= dataD|
|00000da0| 59 3b 0d 09 09 7d 0d 09 | 09 78 20 2b 3d 20 64 61 |Y;...}..|.x += da|
|00000db0| 74 61 44 58 3b 0d 09 7d | 0d 09 72 65 74 76 61 6c |taDX;..}|..retval|
|00000dc0| 20 3d 20 74 72 75 65 3b | 0d 09 69 66 20 28 7a 41 | = true;|..if (zA|
|00000dd0| 75 74 6f 6d 61 74 69 63 | 29 0d 09 7b 09 0d 09 09 |utomatic|)..{....|
|00000de0| 69 66 20 28 6d 69 6e 20 | 3c 20 2d 31 65 31 30 30 |if (min |< -1e100|
|00000df0| 29 20 6d 69 6e 20 3d 20 | 2d 31 65 31 30 30 3b 09 |) min = |-1e100;.|
|00000e00| 09 2f 2f 20 70 75 72 65 | 6c 79 20 61 72 62 69 74 |.// pure|ly arbit|
|00000e10| 72 61 72 79 20 63 68 65 | 63 6b 73 0d 09 09 69 66 |rary che|cks...if|
|00000e20| 20 28 6d 69 6e 20 3e 20 | 31 65 31 30 30 29 20 6d | (min > |1e100) m|
|00000e30| 69 6e 20 3d 20 31 65 31 | 30 30 3b 0d 09 09 69 66 |in = 1e1|00;...if|
|00000e40| 20 28 6d 61 78 20 3c 20 | 2d 31 65 31 30 30 29 20 | (max < |-1e100) |
|00000e50| 6d 61 78 20 3d 20 2d 31 | 65 31 30 30 3b 0d 09 09 |max = -1|e100;...|
|00000e60| 69 66 20 28 6d 61 78 20 | 3e 20 31 65 31 30 30 29 |if (max |> 1e100)|
|00000e70| 20 6d 61 78 20 3d 20 31 | 65 31 30 30 3b 0d 09 09 | max = 1|e100;...|
|00000e80| 69 66 20 28 6d 61 78 20 | 2d 20 6d 69 6e 20 3c 20 |if (max |- min < |
|00000e90| 31 65 2d 38 30 29 0d 09 | 09 09 6d 61 78 20 3d 20 |1e-80)..|..max = |
|00000ea0| 6d 69 6e 20 2b 20 31 65 | 2d 38 30 3b 0d 09 09 69 |min + 1e|-80;...i|
|00000eb0| 66 20 28 6d 61 78 20 2d | 20 6d 69 6e 20 3c 20 31 |f (max -| min < 1|
|00000ec0| 65 2d 38 30 29 0d 09 09 | 09 6d 69 6e 20 3d 20 6d |e-80)...|.min = m|
|00000ed0| 61 78 20 2d 20 66 61 62 | 73 28 6d 61 78 29 2a 30 |ax - fab|s(max)*0|
|00000ee0| 2e 31 3b 0d 09 09 53 65 | 74 47 72 61 66 52 61 6e |.1;...Se|tGrafRan|
|00000ef0| 67 65 28 32 2c 20 6d 69 | 6e 2c 20 6d 61 78 29 3b |ge(2, mi|n, max);|
|00000f00| 09 09 09 09 2f 2f 20 73 | 65 74 20 7a 2d 72 61 6e |....// s|et z-ran|
|00000f10| 67 65 0d 09 7d 0d 0d 64 | 6f 6e 65 3a 0d 09 69 66 |ge..}..d|one:..if|
|00000f20| 20 28 6f 72 69 67 43 75 | 72 72 65 6e 74 57 69 6e | (origCu|rrentWin|
|00000f30| 64 6f 77 29 20 53 65 74 | 43 75 72 72 65 6e 74 57 |dow) Set|CurrentW|
|00000f40| 69 6e 64 6f 77 28 6f 72 | 69 67 43 75 72 72 65 6e |indow(or|igCurren|
|00000f50| 74 57 69 6e 64 6f 77 29 | 3b 0d 09 72 65 74 75 72 |tWindow)|;..retur|
|00000f60| 6e 20 72 65 74 76 61 6c | 3b 0d 7d 0d 0d 0d 23 70 |n retval|;.}...#p|
|00000f70| 72 61 67 6d 61 20 6d 61 | 72 6b 20 2d 0d 0d 73 74 |ragma ma|rk -..st|
|00000f80| 61 74 69 63 20 76 6f 69 | 64 20 41 64 64 54 72 69 |atic voi|d AddTri|
|00000f90| 61 6e 67 6c 65 28 54 51 | 33 47 65 6f 6d 65 74 72 |angle(TQ|3Geometr|
|00000fa0| 79 4f 62 6a 65 63 74 20 | 6d 65 73 68 2c 20 41 72 |yObject |mesh, Ar|
|00000fb0| 72 61 79 45 6e 74 72 79 | 2a 20 65 31 2c 20 41 72 |rayEntry|* e1, Ar|
|00000fc0| 72 61 79 45 6e 74 72 79 | 2a 20 65 32 2c 20 41 72 |rayEntry|* e2, Ar|
|00000fd0| 72 61 79 45 6e 74 72 79 | 2a 20 65 33 29 0d 09 2f |rayEntry|* e3)../|
|00000fe0| 2f 20 61 64 64 73 20 61 | 20 74 72 69 61 6e 67 6c |/ adds a| triangl|
|00000ff0| 65 20 74 6f 20 74 68 65 | 20 6d 65 73 68 20 69 66 |e to the| mesh if|
|00001000| 20 61 6c 6c 20 6d 65 73 | 68 20 70 6f 69 6e 74 73 | all mes|h points|
|00001010| 20 61 72 65 20 76 61 6c | 69 64 0d 7b 0d 09 54 51 | are val|id.{..TQ|
|00001020| 33 4d 65 73 68 56 65 72 | 74 65 78 09 6d 65 73 68 |3MeshVer|tex.mesh|
|00001030| 56 65 72 74 69 63 65 73 | 5b 33 5d 3b 0d 0d 09 69 |Vertices|[3];...i|
|00001040| 66 20 28 65 31 2d 3e 76 | 61 6c 69 64 20 26 26 20 |f (e1->v|alid && |
|00001050| 65 32 2d 3e 76 61 6c 69 | 64 20 26 26 20 65 33 2d |e2->vali|d && e3-|
|00001060| 3e 76 61 6c 69 64 29 0d | 09 7b 0d 09 09 6d 65 73 |>valid).|.{...mes|
|00001070| 68 56 65 72 74 69 63 65 | 73 5b 30 5d 20 3d 20 28 |hVertice|s[0] = (|
|00001080| 54 51 33 4d 65 73 68 56 | 65 72 74 65 78 29 65 31 |TQ3MeshV|ertex)e1|
|00001090| 2d 3e 6d 65 73 68 56 65 | 72 74 65 78 3b 0d 09 09 |->meshVe|rtex;...|
|000010a0| 6d 65 73 68 56 65 72 74 | 69 63 65 73 5b 31 5d 20 |meshVert|ices[1] |
|000010b0| 3d 20 28 54 51 33 4d 65 | 73 68 56 65 72 74 65 78 |= (TQ3Me|shVertex|
|000010c0| 29 65 32 2d 3e 6d 65 73 | 68 56 65 72 74 65 78 3b |)e2->mes|hVertex;|
|000010d0| 0d 09 09 6d 65 73 68 56 | 65 72 74 69 63 65 73 5b |...meshV|ertices[|
|000010e0| 32 5d 20 3d 20 28 54 51 | 33 4d 65 73 68 56 65 72 |2] = (TQ|3MeshVer|
|000010f0| 74 65 78 29 65 33 2d 3e | 6d 65 73 68 56 65 72 74 |tex)e3->|meshVert|
|00001100| 65 78 3b 0d 09 09 51 33 | 4d 65 73 68 5f 46 61 63 |ex;...Q3|Mesh_Fac|
|00001110| 65 4e 65 77 28 6d 65 73 | 68 2c 20 33 2c 20 6d 65 |eNew(mes|h, 3, me|
|00001120| 73 68 56 65 72 74 69 63 | 65 73 2c 20 4e 55 4c 4c |shVertic|es, NULL|
|00001130| 29 3b 0d 09 7d 0d 7d 0d | 0d 0d 54 51 33 47 65 6f |);..}.}.|..TQ3Geo|
|00001140| 6d 65 74 72 79 4f 62 6a | 65 63 74 20 4d 61 6b 65 |metryObj|ect Make|
|00001150| 53 75 72 66 61 63 65 44 | 61 74 61 52 6f 77 43 6f |SurfaceD|ataRowCo|
|00001160| 6c 28 76 6f 69 64 29 0d | 7b 0d 09 54 51 33 47 65 |l(void).|{..TQ3Ge|
|00001170| 6f 6d 65 74 72 79 4f 62 | 6a 65 63 74 09 6d 79 47 |ometryOb|ject.myG|
|00001180| 72 69 64 20 3d 20 4e 55 | 4c 4c 3b 0d 09 0d 0d 09 |rid = NU|LL;.....|
|00001190| 54 51 33 54 72 69 47 72 | 69 64 44 61 74 61 09 09 |TQ3TriGr|idData..|
|000011a0| 74 72 69 47 72 69 64 44 | 61 74 61 20 3d 20 7b 30 |triGridD|ata = {0|
|000011b0| 2c 20 30 2c 20 6e 69 6c | 2c 20 6e 69 6c 2c 20 6e |, 0, nil|, nil, n|
|000011c0| 69 6c 7d 3b 0d 09 75 6e | 73 69 67 6e 65 64 20 6c |il};..un|signed l|
|000011d0| 6f 6e 67 09 09 69 2c 20 | 6a 3b 0d 09 64 6f 75 62 |ong..i, |j;..doub|
|000011e0| 6c 65 09 09 09 09 72 78 | 2c 20 72 79 3b 0d 0d 0d |le....rx|, ry;...|
|000011f0| 09 2f 2f 20 63 72 65 61 | 74 65 20 74 68 65 20 67 |.// crea|te the g|
|00001200| 72 69 64 3a 09 09 0d 09 | 09 09 0d 09 6d 79 47 72 |rid:....|....myGr|
|00001210| 69 64 20 3d 20 51 33 4d | 65 73 68 5f 4e 65 77 28 |id = Q3M|esh_New(|
|00001220| 29 3b 09 09 09 09 09 09 | 09 09 2f 2f 20 63 6f 6c |);......|..// col|
|00001230| 6c 65 63 74 20 74 68 65 | 20 67 72 69 64 20 69 6e |lect the| grid in|
|00001240| 20 61 20 6d 65 73 68 0d | 09 69 66 20 28 6d 79 47 | a mesh.|.if (myG|
|00001250| 72 69 64 20 3d 3d 20 4e | 55 4c 4c 29 20 67 6f 74 |rid == N|ULL) got|
|00001260| 6f 20 65 78 69 74 3b 0d | 09 51 33 4d 65 73 68 5f |o exit;.|.Q3Mesh_|
|00001270| 44 65 6c 61 79 55 70 64 | 61 74 65 73 28 6d 79 47 |DelayUpd|ates(myG|
|00001280| 72 69 64 29 3b 0d 0d 09 | 2f 2f 20 61 64 64 20 61 |rid);...|// add a|
|00001290| 6c 6c 20 76 61 6c 69 64 | 20 76 65 72 74 69 63 65 |ll valid| vertice|
|000012a0| 73 0d 09 72 79 20 3d 20 | 64 61 74 61 59 4d 69 6e |s..ry = |dataYMin|
|000012b0| 3b 0d 09 66 6f 72 20 28 | 69 20 3d 20 30 3b 20 69 |;..for (|i = 0; i|
|000012c0| 20 3c 20 79 52 65 73 3b | 20 69 2b 2b 29 0d 09 7b | < yRes;| i++)..{|
|000012d0| 0d 09 09 54 51 33 56 65 | 72 74 65 78 33 44 09 76 |...TQ3Ve|rtex3D.v|
|000012e0| 3b 0d 09 09 76 2e 61 74 | 74 72 69 62 75 74 65 53 |;...v.at|tributeS|
|000012f0| 65 74 20 3d 20 4e 55 4c | 4c 3b 0d 0d 09 09 72 78 |et = NUL|L;....rx|
|00001300| 20 3d 20 64 61 74 61 58 | 4d 69 6e 3b 0d 09 09 66 | = dataX|Min;...f|
|00001310| 6f 72 20 28 6a 20 3d 20 | 30 3b 20 6a 20 3c 20 78 |or (j = |0; j < x|
|00001320| 52 65 73 3b 20 6a 2b 2b | 29 0d 09 09 7b 0d 09 09 |Res; j++|)...{...|
|00001330| 09 41 72 72 61 79 45 6e | 74 72 79 2a 09 65 20 3d |.ArrayEn|try*.e =|
|00001340| 20 44 61 74 61 41 72 72 | 61 79 45 6c 65 6d 65 6e | DataArr|ayElemen|
|00001350| 74 28 69 2c 6a 29 3b 0d | 0d 09 09 09 69 66 20 28 |t(i,j);.|....if (|
|00001360| 65 2d 3e 76 61 6c 69 64 | 29 0d 09 09 09 7b 09 65 |e->valid|)....{.e|
|00001370| 2d 3e 76 61 6c 69 64 20 | 3d 20 53 63 61 6c 65 28 |->valid |= Scale(|
|00001380| 72 78 2c 72 79 2c 65 2d | 3e 7a 2c 20 26 76 2e 70 |rx,ry,e-|>z, &v.p|
|00001390| 6f 69 6e 74 2e 78 2c 26 | 76 2e 70 6f 69 6e 74 2e |oint.x,&|v.point.|
|000013a0| 79 2c 26 76 2e 70 6f 69 | 6e 74 2e 7a 29 3b 09 09 |y,&v.poi|nt.z);..|
|000013b0| 2f 2f 20 63 6f 6e 76 65 | 72 74 20 74 6f 20 51 44 |// conve|rt to QD|
|000013c0| 33 44 20 63 6f 6f 72 64 | 69 6e 61 74 65 73 0d 09 |3D coord|inates..|
|000013d0| 09 09 09 69 66 20 28 65 | 2d 3e 76 61 6c 69 64 29 |...if (e|->valid)|
|000013e0| 0d 09 09 09 09 09 65 2d | 3e 6d 65 73 68 56 65 72 |......e-|>meshVer|
|000013f0| 74 65 78 20 3d 20 51 33 | 4d 65 73 68 5f 56 65 72 |tex = Q3|Mesh_Ver|
|00001400| 74 65 78 4e 65 77 28 6d | 79 47 72 69 64 2c 20 26 |texNew(m|yGrid, &|
|00001410| 76 29 3b 0d 09 09 09 7d | 0d 0d 09 09 09 72 78 20 |v);....}|.....rx |
|00001420| 2b 3d 20 64 61 74 61 44 | 58 3b 0d 09 09 7d 0d 09 |+= dataD|X;...}..|
|00001430| 09 72 79 20 2b 3d 20 64 | 61 74 61 44 59 3b 0d 09 |.ry += d|ataDY;..|
|00001440| 7d 0d 0d 09 2f 2f 20 63 | 72 65 61 74 65 20 74 72 |}...// c|reate tr|
|00001450| 69 61 6e 67 6c 65 73 20 | 62 65 74 77 65 65 6e 20 |iangles |between |
|00001460| 74 68 65 20 76 61 6c 69 | 64 20 76 65 72 74 69 63 |the vali|d vertic|
|00001470| 65 73 0d 09 66 6f 72 20 | 28 69 20 3d 20 30 3b 20 |es..for |(i = 0; |
|00001480| 69 20 3c 20 79 52 65 73 | 2d 31 3b 20 69 2b 2b 29 |i < yRes|-1; i++)|
|00001490| 0d 09 7b 0d 09 09 47 65 | 74 47 72 61 66 52 61 6e |..{...Ge|tGrafRan|
|000014a0| 67 65 28 30 2c 20 26 72 | 78 2c 20 6e 69 6c 29 3b |ge(0, &r|x, nil);|
|000014b0| 0d 09 09 66 6f 72 20 28 | 6a 20 3d 20 30 3b 20 6a |...for (|j = 0; j|
|000014c0| 20 3c 20 78 52 65 73 2d | 31 3b 20 6a 2b 2b 29 0d | < xRes-|1; j++).|
|000014d0| 09 09 7b 0d 09 09 09 41 | 72 72 61 79 45 6e 74 72 |..{....A|rrayEntr|
|000014e0| 79 2a 09 65 30 30 20 3d | 20 44 61 74 61 41 72 72 |y*.e00 =| DataArr|
|000014f0| 61 79 45 6c 65 6d 65 6e | 74 28 69 2c 6a 29 3b 0d |ayElemen|t(i,j);.|
|00001500| 09 09 09 41 72 72 61 79 | 45 6e 74 72 79 2a 09 65 |...Array|Entry*.e|
|00001510| 30 31 20 3d 20 44 61 74 | 61 41 72 72 61 79 45 6c |01 = Dat|aArrayEl|
|00001520| 65 6d 65 6e 74 28 69 2c | 6a 2b 31 29 3b 0d 09 09 |ement(i,|j+1);...|
|00001530| 09 41 72 72 61 79 45 6e | 74 72 79 2a 09 65 31 30 |.ArrayEn|try*.e10|
|00001540| 20 3d 20 44 61 74 61 41 | 72 72 61 79 45 6c 65 6d | = DataA|rrayElem|
|00001550| 65 6e 74 28 69 2b 31 2c | 6a 29 3b 0d 09 09 09 41 |ent(i+1,|j);....A|
|00001560| 72 72 61 79 45 6e 74 72 | 79 2a 09 65 31 31 20 3d |rrayEntr|y*.e11 =|
|00001570| 20 44 61 74 61 41 72 72 | 61 79 45 6c 65 6d 65 6e | DataArr|ayElemen|
|00001580| 74 28 69 2b 31 2c 6a 2b | 31 29 3b 0d 0d 09 09 09 |t(i+1,j+|1);.....|
|00001590| 69 66 20 28 65 30 30 2d | 3e 76 61 6c 69 64 20 26 |if (e00-|>valid &|
|000015a0| 26 20 65 30 31 2d 3e 76 | 61 6c 69 64 20 26 26 20 |& e01->v|alid && |
|000015b0| 65 31 30 2d 3e 76 61 6c | 69 64 20 26 26 20 65 31 |e10->val|id && e1|
|000015c0| 31 2d 3e 76 61 6c 69 64 | 29 0d 09 09 09 7b 0d 09 |1->valid|)....{..|
|000015d0| 09 09 09 41 64 64 54 72 | 69 61 6e 67 6c 65 28 6d |...AddTr|iangle(m|
|000015e0| 79 47 72 69 64 2c 20 65 | 30 30 2c 20 65 30 31 2c |yGrid, e|00, e01,|
|000015f0| 20 65 31 30 29 3b 0d 09 | 09 09 09 41 64 64 54 72 | e10);..|...AddTr|
|00001600| 69 61 6e 67 6c 65 28 6d | 79 47 72 69 64 2c 20 65 |iangle(m|yGrid, e|
|00001610| 31 30 2c 20 65 30 31 2c | 20 65 31 31 29 3b 0d 09 |10, e01,| e11);..|
|00001620| 09 09 7d 0d 09 09 09 65 | 6c 73 65 0d 09 09 09 7b |..}....e|lse....{|
|00001630| 09 41 64 64 54 72 69 61 | 6e 67 6c 65 28 6d 79 47 |.AddTria|ngle(myG|
|00001640| 72 69 64 2c 20 65 30 30 | 2c 20 65 30 31 2c 20 65 |rid, e00|, e01, e|
|00001650| 31 30 29 3b 0d 09 09 09 | 09 41 64 64 54 72 69 61 |10);....|.AddTria|
|00001660| 6e 67 6c 65 28 6d 79 47 | 72 69 64 2c 20 65 30 31 |ngle(myG|rid, e01|
|00001670| 2c 20 65 31 30 2c 20 65 | 31 31 29 3b 0d 09 09 09 |, e10, e|11);....|
|00001680| 09 41 64 64 54 72 69 61 | 6e 67 6c 65 28 6d 79 47 |.AddTria|ngle(myG|
|00001690| 72 69 64 2c 20 65 31 30 | 2c 20 65 31 31 2c 20 65 |rid, e10|, e11, e|
|000016a0| 30 30 29 3b 0d 09 09 09 | 09 41 64 64 54 72 69 61 |00);....|.AddTria|
|000016b0| 6e 67 6c 65 28 6d 79 47 | 72 69 64 2c 20 65 31 31 |ngle(myG|rid, e11|
|000016c0| 2c 20 65 30 30 2c 20 65 | 30 31 29 3b 0d 09 09 09 |, e00, e|01);....|
|000016d0| 7d 0d 09 09 7d 0d 09 7d | 0d 09 51 33 4d 65 73 68 |}...}..}|..Q3Mesh|
|000016e0| 5f 52 65 73 75 6d 65 55 | 70 64 61 74 65 73 28 6d |_ResumeU|pdates(m|
|000016f0| 79 47 72 69 64 29 3b 0d | 0d 0d 65 78 69 74 3a 0d |yGrid);.|..exit:.|
|00001700| 09 72 65 74 75 72 6e 20 | 6d 79 47 72 69 64 3b 0d |.return |myGrid;.|
|00001710| 7d 0d 0d 23 70 72 61 67 | 6d 61 20 6d 61 72 6b 20 |}..#prag|ma mark |
|00001720| 2d 0d 0d 65 6e 75 6d 20 | 7b 0d 09 77 69 6e 64 77 |-..enum |{..windw|
|00001730| 6f 50 6f 70 75 70 49 74 | 65 6d 20 3d 20 33 2c 0d |oPopupIt|em = 3,.|
|00001740| 09 66 69 72 73 74 43 6f | 6c 49 74 65 6d 20 3d 20 |.firstCo|lItem = |
|00001750| 37 2c 0d 09 6c 61 73 74 | 43 6f 6c 49 74 65 6d 20 |7,..last|ColItem |
|00001760| 3d 20 66 69 72 73 74 43 | 6f 6c 49 74 65 6d 2b 32 |= firstC|olItem+2|
|00001770| 2c 0d 09 66 69 72 73 74 | 52 6f 77 49 74 65 6d 20 |,..first|RowItem |
|00001780| 3d 20 31 32 2c 0d 09 6c | 61 73 74 52 6f 77 49 74 |= 12,..l|astRowIt|
|00001790| 65 6d 20 3d 20 66 69 72 | 73 74 52 6f 77 49 74 65 |em = fir|stRowIte|
|000017a0| 6d 2b 32 2c 0d 09 7a 52 | 61 6e 67 65 41 75 74 6f |m+2,..zR|angeAuto|
|000017b0| 6d 61 74 69 63 49 74 65 | 6d 20 3d 20 32 30 2c 0d |maticIte|m = 20,.|
|000017c0| 09 7a 52 61 6e 67 65 46 | 72 6f 6d 54 69 74 6c 65 |.zRangeF|romTitle|
|000017d0| 49 74 65 6d 20 3d 20 31 | 36 2c 0d 09 7a 52 61 6e |Item = 1|6,..zRan|
|000017e0| 67 65 46 72 6f 6d 49 74 | 65 6d 2c 0d 09 7a 52 61 |geFromIt|em,..zRa|
|000017f0| 6e 67 65 54 6f 54 69 74 | 6c 65 49 74 65 6d 2c 0d |ngeToTit|leItem,.|
|00001800| 09 7a 52 61 6e 67 65 54 | 6f 49 74 65 6d 2c 0d 09 |.zRangeT|oItem,..|
|00001810| 68 65 6c 70 42 75 74 74 | 6f 6e 49 74 65 6d 20 3d |helpButt|onItem =|
|00001820| 20 34 0d 09 7d 3b 0d 0d | 73 74 61 74 69 63 20 76 | 4..};..|static v|
|00001830| 6f 69 64 20 53 68 6f 77 | 48 69 64 65 49 74 65 6d |oid Show|HideItem|
|00001840| 73 28 44 69 61 6c 6f 67 | 44 61 74 61 2a 20 63 6f |s(Dialog|Data* co|
|00001850| 6e 73 74 20 64 6c 67 29 | 0d 7b 0d 09 73 74 61 74 |nst dlg)|.{..stat|
|00001860| 69 63 20 63 6f 6e 73 74 | 20 73 68 6f 72 74 20 69 |ic const| short i|
|00001870| 74 65 6d 73 5b 5d 20 3d | 20 7b 7a 52 61 6e 67 65 |tems[] =| {zRange|
|00001880| 46 72 6f 6d 54 69 74 6c | 65 49 74 65 6d 2c 7a 52 |FromTitl|eItem,zR|
|00001890| 61 6e 67 65 46 72 6f 6d | 49 74 65 6d 2c 0d 09 09 |angeFrom|Item,...|
|000018a0| 09 7a 52 61 6e 67 65 54 | 6f 54 69 74 6c 65 49 74 |.zRangeT|oTitleIt|
|000018b0| 65 6d 2c 7a 52 61 6e 67 | 65 54 6f 49 74 65 6d 2c |em,zRang|eToItem,|
|000018c0| 30 7d 3b 0d 09 42 6f 6f | 6c 65 61 6e 09 68 69 64 |0};..Boo|lean.hid|
|000018d0| 65 20 3d 20 4d 79 47 65 | 74 49 74 65 6d 56 61 6c |e = MyGe|tItemVal|
|000018e0| 75 65 28 64 6c 67 2c 20 | 7a 52 61 6e 67 65 41 75 |ue(dlg, |zRangeAu|
|000018f0| 74 6f 6d 61 74 69 63 49 | 74 65 6d 29 3b 0d 09 73 |tomaticI|tem);..s|
|00001900| 68 6f 72 74 20 63 6f 6e | 73 74 2a 09 70 20 3d 20 |hort con|st*.p = |
|00001910| 69 74 65 6d 73 3b 0d 0d | 09 77 68 69 6c 65 20 28 |items;..|.while (|
|00001920| 2a 70 29 0d 09 09 69 66 | 20 28 68 69 64 65 29 20 |*p)...if| (hide) |
|00001930| 4d 79 48 69 64 65 49 74 | 65 6d 28 64 6c 67 2c 20 |MyHideIt|em(dlg, |
|00001940| 2a 70 2b 2b 29 3b 0d 09 | 09 65 6c 73 65 20 4d 79 |*p++);..|.else My|
|00001950| 53 68 6f 77 49 74 65 6d | 28 64 6c 67 2c 20 2a 70 |ShowItem|(dlg, *p|
|00001960| 2b 2b 29 3b 0d 7d 0d 0d | 73 74 61 74 69 63 20 42 |++);.}..|static B|
|00001970| 6f 6f 6c 65 61 6e 20 47 | 65 74 50 61 69 72 28 44 |oolean G|etPair(D|
|00001980| 69 61 6c 6f 67 44 61 74 | 61 2a 20 63 6f 6e 73 74 |ialogDat|a* const|
|00001990| 20 64 6c 67 2c 20 73 68 | 6f 72 74 20 6d 69 6e 49 | dlg, sh|ort minI|
|000019a0| 74 65 6d 2c 20 73 68 6f | 72 74 20 6d 61 78 49 74 |tem, sho|rt maxIt|
|000019b0| 65 6d 2c 20 6c 6f 6e 67 | 20 6c 69 6d 69 74 2c 0d |em, long| limit,.|
|000019c0| 09 6c 6f 6e 67 2a 20 63 | 6f 6e 73 74 20 6d 69 6e |.long* c|onst min|
|000019d0| 2c 20 6c 6f 6e 67 2a 20 | 63 6f 6e 73 74 20 6d 61 |, long* |const ma|
|000019e0| 78 29 0d 09 2f 2f 20 72 | 65 61 64 73 20 61 20 70 |x)..// r|eads a p|
|000019f0| 61 69 72 20 6f 66 20 6d | 69 6e 2f 6d 61 78 20 72 |air of m|in/max r|
|00001a00| 6f 77 20 6f 72 20 63 6f | 6c 20 76 61 6c 75 65 73 |ow or co|l values|
|00001a10| 2c 20 72 65 74 75 72 6e | 73 20 66 61 6c 73 65 20 |, return|s false |
|00001a20| 69 66 20 65 72 72 6f 72 | 0d 7b 0d 09 69 66 20 28 |if error|.{..if (|
|00001a30| 21 4d 79 47 65 74 4c 6f | 6e 67 49 74 65 6d 28 64 |!MyGetLo|ngItem(d|
|00001a40| 6c 67 2c 6d 69 6e 49 74 | 65 6d 2c 6d 69 6e 29 20 |lg,minIt|em,min) |
|00001a50| 7c 7c 20 21 4d 79 47 65 | 74 4c 6f 6e 67 49 74 65 ||| !MyGe|tLongIte|
|00001a60| 6d 28 64 6c 67 2c 6d 61 | 78 49 74 65 6d 2c 6d 61 |m(dlg,ma|xItem,ma|
|00001a70| 78 29 20 7c 7c 20 2a 6d | 69 6e 20 3e 3d 20 2a 6d |x) || *m|in >= *m|
|00001a80| 61 78 29 0d 09 09 72 65 | 74 75 72 6e 20 66 61 6c |ax)...re|turn fal|
|00001a90| 73 65 3b 0d 09 69 66 20 | 28 2a 6d 69 6e 20 3c 20 |se;..if |(*min < |
|00001aa0| 31 20 7c 7c 20 2a 6d 69 | 6e 20 3e 20 6c 69 6d 69 |1 || *mi|n > limi|
|00001ab0| 74 29 0d 09 7b 09 53 79 | 73 42 65 65 70 28 33 30 |t)..{.Sy|sBeep(30|
|00001ac0| 29 3b 0d 09 09 4d 79 53 | 65 6c 65 63 74 49 74 65 |);...MyS|electIte|
|00001ad0| 6d 54 65 78 74 28 64 6c | 67 2c 20 6d 69 6e 49 74 |mText(dl|g, minIt|
|00001ae0| 65 6d 2c 20 30 2c 20 30 | 78 37 46 46 46 29 3b 0d |em, 0, 0|x7FFF);.|
|00001af0| 09 09 72 65 74 75 72 6e | 20 66 61 6c 73 65 3b 0d |..return| false;.|
|00001b00| 09 7d 0d 09 69 66 20 28 | 2a 6d 61 78 20 3c 20 31 |.}..if (|*max < 1|
|00001b10| 20 7c 7c 20 2a 6d 61 78 | 20 3e 20 6c 69 6d 69 74 | || *max| > limit|
|00001b20| 29 0d 09 7b 09 53 79 73 | 42 65 65 70 28 33 30 29 |)..{.Sys|Beep(30)|
|00001b30| 3b 0d 09 09 4d 79 53 65 | 6c 65 63 74 49 74 65 6d |;...MySe|lectItem|
|00001b40| 54 65 78 74 28 64 6c 67 | 2c 20 6d 61 78 49 74 65 |Text(dlg|, maxIte|
|00001b50| 6d 2c 20 30 2c 20 30 78 | 37 46 46 46 29 3b 0d 09 |m, 0, 0x|7FFF);..|
|00001b60| 09 72 65 74 75 72 6e 20 | 66 61 6c 73 65 3b 0d 09 |.return |false;..|
|00001b70| 7d 0d 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |}..retur|n true;.|
|00001b80| 7d 0d 0d 42 6f 6f 6c 65 | 61 6e 20 44 69 61 6c 6f |}..Boole|an Dialo|
|00001b90| 67 50 6c 6f 74 44 61 74 | 61 52 6f 77 43 6f 6c 28 |gPlotDat|aRowCol(|
|00001ba0| 76 6f 69 64 29 0d 09 2f | 2f 20 64 6f 65 73 20 74 |void)../|/ does t|
|00001bb0| 68 65 20 73 65 74 75 70 | 20 64 69 61 6c 6f 67 0d |he setup| dialog.|
|00001bc0| 09 2f 2f 20 72 65 74 75 | 72 6e 73 20 74 72 75 65 |.// retu|rns true|
|00001bd0| 20 69 66 20 4f 4b 2c 20 | 66 61 6c 73 65 20 69 66 | if OK, |false if|
|00001be0| 20 63 61 6e 63 65 6c 6c | 65 64 0d 7b 0d 09 44 69 | cancell|ed.{..Di|
|00001bf0| 61 6c 6f 67 44 61 74 61 | 2a 09 64 6c 67 3b 0d 09 |alogData|*.dlg;..|
|00001c00| 73 68 6f 72 74 09 09 69 | 74 65 6d 48 69 74 3b 0d |short..i|temHit;.|
|00001c10| 09 42 6f 6f 6c 65 61 6e | 09 09 72 65 74 76 61 6c |.Boolean|..retval|
|00001c20| 20 3d 20 66 61 6c 73 65 | 3b 0d 09 6c 6f 6e 67 09 | = false|;..long.|
|00001c30| 09 6f 72 69 67 43 75 72 | 72 65 6e 74 57 69 6e 64 |.origCur|rentWind|
|00001c40| 6f 77 3d 30 3b 0d 09 64 | 6f 75 62 6c 65 09 09 7a |ow=0;..d|ouble..z|
|00001c50| 4d 69 6e 2c 20 7a 4d 61 | 78 3b 0d 0d 09 6f 72 69 |Min, zMa|x;...ori|
|00001c60| 67 43 75 72 72 65 6e 74 | 57 69 6e 64 6f 77 20 3d |gCurrent|Window =|
|00001c70| 20 47 65 74 43 75 72 72 | 65 6e 74 57 69 6e 64 6f | GetCurr|entWindo|
|00001c80| 77 28 64 61 74 61 54 79 | 70 65 29 3b 0d 09 69 66 |w(dataTy|pe);..if|
|00001c90| 20 28 6f 72 69 67 43 75 | 72 72 65 6e 74 57 69 6e | (origCu|rrentWin|
|00001ca0| 64 6f 77 3d 3d 30 29 0d | 09 7b 09 4d 79 41 6c 65 |dow==0).|.{.MyAle|
|00001cb0| 72 74 28 33 30 30 37 30 | 29 3b 09 09 09 09 09 09 |rt(30070|);......|
|00001cc0| 2f 2f 20 74 68 65 72 65 | 20 69 73 20 6e 6f 20 64 |// there| is no d|
|00001cd0| 61 74 61 20 77 69 6e 64 | 6f 77 0d 09 09 67 6f 74 |ata wind|ow...got|
|00001ce0| 6f 20 64 6f 6e 65 3b 0d | 09 7d 0d 0d 09 47 65 74 |o done;.|.}...Get|
|00001cf0| 47 72 61 66 52 61 6e 67 | 65 28 32 2c 20 26 7a 4d |GrafRang|e(2, &zM|
|00001d00| 69 6e 2c 20 26 7a 4d 61 | 78 29 3b 0d 09 69 66 20 |in, &zMa|x);..if |
|00001d10| 28 64 61 74 61 57 69 6e | 64 6f 77 20 21 3d 20 30 |(dataWin|dow != 0|
|00001d20| 20 26 26 20 47 65 74 57 | 69 6e 64 6f 77 54 79 70 | && GetW|indowTyp|
|00001d30| 65 28 64 61 74 61 57 69 | 6e 64 6f 77 29 20 21 3d |e(dataWi|ndow) !=|
|00001d40| 20 64 61 74 61 54 79 70 | 65 29 09 2f 2f 20 69 66 | dataTyp|e).// if|
|00001d50| 20 77 65 20 68 61 76 65 | 20 61 20 64 65 66 61 75 | we have| a defau|
|00001d60| 6c 74 20 64 61 74 61 20 | 77 69 6e 64 6f 77 20 62 |lt data |window b|
|00001d70| 75 74 20 69 74 20 64 6f | 65 73 20 6e 6f 74 20 65 |ut it do|es not e|
|00001d80| 78 69 73 74 20 61 6e 79 | 6d 6f 72 65 0d 09 09 64 |xist any|more...d|
|00001d90| 61 74 61 57 69 6e 64 6f | 77 20 3d 20 30 3b 0d 09 |ataWindo|w = 0;..|
|00001da0| 69 66 20 28 64 61 74 61 | 57 69 6e 64 6f 77 20 3d |if (data|Window =|
|00001db0| 3d 20 30 29 09 09 09 09 | 09 09 09 09 09 2f 2f 20 |= 0)....|.....// |
|00001dc0| 69 66 20 77 65 20 68 61 | 76 65 20 6e 6f 20 64 65 |if we ha|ve no de|
|00001dd0| 66 61 75 6c 74 20 77 69 | 6e 64 6f 77 0d 09 09 64 |fault wi|ndow...d|
|00001de0| 61 74 61 57 69 6e 64 6f | 77 20 3d 20 6f 72 69 67 |ataWindo|w = orig|
|00001df0| 43 75 72 72 65 6e 74 57 | 69 6e 64 6f 77 3b 09 09 |CurrentW|indow;..|
|00001e00| 09 09 09 09 2f 2f 20 75 | 73 65 20 63 75 72 72 65 |....// u|se curre|
|00001e10| 6e 74 20 77 69 6e 64 6f | 77 0d 09 53 65 74 43 75 |nt windo|w..SetCu|
|00001e20| 72 72 65 6e 74 57 69 6e | 64 6f 77 28 64 61 74 61 |rrentWin|dow(data|
|00001e30| 57 69 6e 64 6f 77 29 3b | 0d 09 69 66 20 28 6d 69 |Window);|..if (mi|
|00001e40| 6e 52 6f 77 20 3d 3d 20 | 30 20 7c 7c 20 6d 69 6e |nRow == |0 || min|
|00001e50| 52 6f 77 20 3e 20 4e 72 | 52 6f 77 73 28 29 29 20 |Row > Nr|Rows()) |
|00001e60| 6d 69 6e 52 6f 77 20 3d | 20 31 3b 0d 09 69 66 20 |minRow =| 1;..if |
|00001e70| 28 6d 61 78 52 6f 77 20 | 3d 3d 20 30 20 7c 7c 20 |(maxRow |== 0 || |
|00001e80| 6d 61 78 52 6f 77 20 3e | 20 4e 72 52 6f 77 73 28 |maxRow >| NrRows(|
|00001e90| 29 29 20 6d 61 78 52 6f | 77 20 3d 20 4e 72 52 6f |)) maxRo|w = NrRo|
|00001ea0| 77 73 28 29 3b 0d 09 69 | 66 20 28 6d 69 6e 43 6f |ws();..i|f (minCo|
|00001eb0| 6c 20 3d 3d 20 30 20 7c | 7c 20 6d 69 6e 43 6f 6c |l == 0 ||| minCol|
|00001ec0| 20 3e 20 4e 72 43 6f 6c | 73 28 29 29 20 6d 69 6e | > NrCol|s()) min|
|00001ed0| 43 6f 6c 20 3d 20 31 3b | 0d 09 69 66 20 28 6d 61 |Col = 1;|..if (ma|
|00001ee0| 78 43 6f 6c 20 3d 3d 20 | 30 20 7c 7c 20 6d 61 78 |xCol == |0 || max|
|00001ef0| 43 6f 6c 20 3e 20 4e 72 | 43 6f 6c 73 28 29 29 20 |Col > Nr|Cols()) |
|00001f00| 6d 61 78 43 6f 6c 20 3d | 20 4e 72 43 6f 6c 73 28 |maxCol =| NrCols(|
|00001f10| 29 3b 0d 0d 09 64 6c 67 | 20 3d 20 4d 79 47 65 74 |);...dlg| = MyGet|
|00001f20| 4e 65 77 44 69 61 6c 6f | 67 28 33 30 30 36 30 2c |NewDialo|g(30060,|
|00001f30| 20 31 2c 20 32 29 3b 0d | 09 69 66 20 28 64 6c 67 | 1, 2);.|.if (dlg|
|00001f40| 20 3d 3d 20 6e 69 6c 29 | 0d 09 09 67 6f 74 6f 20 | == nil)|...goto |
|00001f50| 64 6f 6e 65 3b 0d 0d 09 | 4d 61 6b 65 57 69 6e 64 |done;...|MakeWind|
|00001f60| 6f 77 50 6f 70 75 70 28 | 64 6c 67 2c 20 77 69 6e |owPopup(|dlg, win|
|00001f70| 64 77 6f 50 6f 70 75 70 | 49 74 65 6d 2c 20 64 61 |dwoPopup|Item, da|
|00001f80| 74 61 54 79 70 65 29 3b | 0d 09 4d 79 53 65 74 4c |taType);|..MySetL|
|00001f90| 6f 6e 67 49 74 65 6d 28 | 64 6c 67 2c 20 66 69 72 |ongItem(|dlg, fir|
|00001fa0| 73 74 43 6f 6c 49 74 65 | 6d 2c 20 6d 69 6e 43 6f |stColIte|m, minCo|
|00001fb0| 6c 29 3b 0d 09 4d 79 53 | 65 74 4c 6f 6e 67 49 74 |l);..MyS|etLongIt|
|00001fc0| 65 6d 28 64 6c 67 2c 20 | 6c 61 73 74 43 6f 6c 49 |em(dlg, |lastColI|
|00001fd0| 74 65 6d 2c 20 6d 61 78 | 43 6f 6c 29 3b 0d 09 4d |tem, max|Col);..M|
|00001fe0| 79 53 65 74 4c 6f 6e 67 | 49 74 65 6d 28 64 6c 67 |ySetLong|Item(dlg|
|00001ff0| 2c 20 66 69 72 73 74 52 | 6f 77 49 74 65 6d 2c 20 |, firstR|owItem, |
|00002000| 6d 69 6e 52 6f 77 29 3b | 0d 09 4d 79 53 65 74 4c |minRow);|..MySetL|
|00002010| 6f 6e 67 49 74 65 6d 28 | 64 6c 67 2c 20 6c 61 73 |ongItem(|dlg, las|
|00002020| 74 52 6f 77 49 74 65 6d | 2c 20 6d 61 78 52 6f 77 |tRowItem|, maxRow|
|00002030| 29 3b 0d 09 4d 79 53 65 | 74 45 78 74 65 6e 64 65 |);..MySe|tExtende|
|00002040| 64 49 74 65 6d 28 64 6c | 67 2c 20 7a 52 61 6e 67 |dItem(dl|g, zRang|
|00002050| 65 46 72 6f 6d 49 74 65 | 6d 2c 20 7a 4d 69 6e 29 |eFromIte|m, zMin)|
|00002060| 3b 0d 09 4d 79 53 65 74 | 45 78 74 65 6e 64 65 64 |;..MySet|Extended|
|00002070| 49 74 65 6d 28 64 6c 67 | 2c 20 7a 52 61 6e 67 65 |Item(dlg|, zRange|
|00002080| 54 6f 49 74 65 6d 2c 20 | 7a 4d 61 78 29 3b 0d 09 |ToItem, |zMax);..|
|00002090| 4d 79 53 65 74 49 74 65 | 6d 56 61 6c 75 65 28 64 |MySetIte|mValue(d|
|000020a0| 6c 67 2c 20 7a 52 61 6e | 67 65 41 75 74 6f 6d 61 |lg, zRan|geAutoma|
|000020b0| 74 69 63 49 74 65 6d 2c | 20 7a 41 75 74 6f 6d 61 |ticItem,| zAutoma|
|000020c0| 74 69 63 29 3b 0d 0d 09 | 53 65 74 47 6c 6f 62 61 |tic);...|SetGloba|
|000020d0| 6c 57 69 6e 64 6f 77 52 | 65 63 74 28 64 6c 67 2d |lWindowR|ect(dlg-|
|000020e0| 3e 64 69 61 6c 6f 67 2c | 20 26 73 65 74 75 70 44 |>dialog,| &setupD|
|000020f0| 69 61 6c 6f 67 52 65 63 | 74 29 3b 0d 09 53 68 6f |ialogRec|t);..Sho|
|00002100| 77 48 69 64 65 49 74 65 | 6d 73 28 64 6c 67 29 3b |wHideIte|ms(dlg);|
|00002110| 0d 09 4d 79 53 65 6c 65 | 63 74 49 74 65 6d 54 65 |..MySele|ctItemTe|
|00002120| 78 74 28 64 6c 67 2c 66 | 69 72 73 74 43 6f 6c 49 |xt(dlg,f|irstColI|
|00002130| 74 65 6d 2c 20 30 2c 20 | 30 78 37 46 46 46 29 3b |tem, 0, |0x7FFF);|
|00002140| 0d 09 4d 79 53 68 6f 77 | 44 69 61 6c 6f 67 28 64 |..MyShow|Dialog(d|
|00002150| 6c 67 29 3b 0d 09 64 6f | 0d 09 7b 0d 09 09 4d 79 |lg);..do|..{...My|
|00002160| 4d 6f 64 61 6c 44 69 61 | 6c 6f 67 28 64 6c 67 2c |ModalDia|log(dlg,|
|00002170| 20 26 69 74 65 6d 48 69 | 74 29 3b 0d 0d 09 09 73 | &itemHi|t);....s|
|00002180| 77 69 74 63 68 28 69 74 | 65 6d 48 69 74 29 0d 09 |witch(it|emHit)..|
|00002190| 09 7b 0d 0d 09 09 63 61 | 73 65 20 68 65 6c 70 42 |.{....ca|se helpB|
|000021a0| 75 74 74 6f 6e 49 74 65 | 6d 3a 0d 09 09 09 09 4d |uttonIte|m:.....M|
|000021b0| 79 50 6f 73 69 74 69 6f | 6e 65 64 41 6c 65 72 74 |yPositio|nedAlert|
|000021c0| 28 33 30 30 36 33 2c 20 | 26 68 65 6c 70 44 69 61 |(30063, |&helpDia|
|000021d0| 6c 6f 67 52 65 63 74 29 | 3b 0d 09 09 09 09 62 72 |logRect)|;.....br|
|000021e0| 65 61 6b 3b 0d 09 09 63 | 61 73 65 20 7a 52 61 6e |eak;...c|ase zRan|
|000021f0| 67 65 41 75 74 6f 6d 61 | 74 69 63 49 74 65 6d 3a |geAutoma|ticItem:|
|00002200| 0d 09 09 09 09 53 68 6f | 77 48 69 64 65 49 74 65 |.....Sho|wHideIte|
|00002210| 6d 73 28 64 6c 67 29 3b | 0d 09 09 09 09 62 72 65 |ms(dlg);|.....bre|
|00002220| 61 6b 3b 0d 09 09 63 61 | 73 65 20 6f 6b 3a 0d 09 |ak;...ca|se ok:..|
|00002230| 09 09 7b 0d 09 09 09 09 | 6c 6f 6e 67 09 6e 65 77 |..{.....|long.new|
|00002240| 4d 69 6e 43 6f 6c 2c 20 | 6e 65 77 4d 61 78 43 6f |MinCol, |newMaxCo|
|00002250| 6c 2c 20 6e 65 77 4d 69 | 6e 52 6f 77 2c 20 6e 65 |l, newMi|nRow, ne|
|00002260| 77 4d 61 78 52 6f 77 3b | 0d 09 09 09 09 6c 6f 6e |wMaxRow;|.....lon|
|00002270| 67 09 6e 65 77 44 61 74 | 61 57 69 6e 64 6f 77 3b |g.newDat|aWindow;|
|00002280| 0d 09 09 09 09 42 6f 6f | 6c 65 61 6e 09 6e 65 77 |.....Boo|lean.new|
|00002290| 41 75 74 6f 6d 61 74 69 | 63 3b 0d 09 09 09 09 47 |Automati|c;.....G|
|000022a0| 65 74 49 74 65 6d 47 65 | 6e 65 72 61 6c 28 64 6c |etItemGe|neral(dl|
|000022b0| 67 2c 20 77 69 6e 64 77 | 6f 50 6f 70 75 70 49 74 |g, windw|oPopupIt|
|000022c0| 65 6d 2c 20 26 6e 65 77 | 44 61 74 61 57 69 6e 64 |em, &new|DataWind|
|000022d0| 6f 77 29 3b 0d 09 09 09 | 09 53 65 74 43 75 72 72 |ow);....|.SetCurr|
|000022e0| 65 6e 74 57 69 6e 64 6f | 77 28 6e 65 77 44 61 74 |entWindo|w(newDat|
|000022f0| 61 57 69 6e 64 6f 77 29 | 3b 0d 09 09 09 09 69 66 |aWindow)|;.....if|
|00002300| 20 28 21 47 65 74 50 61 | 69 72 28 64 6c 67 2c 66 | (!GetPa|ir(dlg,f|
|00002310| 69 72 73 74 43 6f 6c 49 | 74 65 6d 2c 6c 61 73 74 |irstColI|tem,last|
|00002320| 43 6f 6c 49 74 65 6d 2c | 4e 72 43 6f 6c 73 28 29 |ColItem,|NrCols()|
|00002330| 2c 26 6e 65 77 4d 69 6e | 43 6f 6c 2c 26 6e 65 77 |,&newMin|Col,&new|
|00002340| 4d 61 78 43 6f 6c 29 20 | 7c 7c 0d 09 09 09 09 09 |MaxCol) |||......|
|00002350| 21 47 65 74 50 61 69 72 | 28 64 6c 67 2c 66 69 72 |!GetPair|(dlg,fir|
|00002360| 73 74 52 6f 77 49 74 65 | 6d 2c 6c 61 73 74 52 6f |stRowIte|m,lastRo|
|00002370| 77 49 74 65 6d 2c 4e 72 | 52 6f 77 73 28 29 2c 26 |wItem,Nr|Rows(),&|
|00002380| 6e 65 77 4d 69 6e 52 6f | 77 2c 26 6e 65 77 4d 61 |newMinRo|w,&newMa|
|00002390| 78 52 6f 77 29 29 0d 09 | 09 09 09 09 7b 09 69 74 |xRow))..|....{.it|
|000023a0| 65 6d 48 69 74 20 3d 20 | 30 3b 0d 09 09 09 09 09 |emHit = |0;......|
|000023b0| 09 62 72 65 61 6b 3b 0d | 09 09 09 09 09 7d 0d 09 |.break;.|.....}..|
|000023c0| 09 09 09 6e 65 77 41 75 | 74 6f 6d 61 74 69 63 20 |...newAu|tomatic |
|000023d0| 3d 20 4d 79 47 65 74 49 | 74 65 6d 56 61 6c 75 65 |= MyGetI|temValue|
|000023e0| 28 64 6c 67 2c 20 7a 52 | 61 6e 67 65 41 75 74 6f |(dlg, zR|angeAuto|
|000023f0| 6d 61 74 69 63 49 74 65 | 6d 29 3b 0d 09 09 09 09 |maticIte|m);.....|
|00002400| 69 66 20 28 21 6e 65 77 | 41 75 74 6f 6d 61 74 69 |if (!new|Automati|
|00002410| 63 29 0d 09 09 09 09 7b | 09 64 6f 75 62 6c 65 09 |c).....{|.double.|
|00002420| 6e 65 77 46 72 6f 6d 2c | 20 6e 65 77 54 6f 3b 0d |newFrom,| newTo;.|
|00002430| 09 09 09 09 09 69 66 20 | 28 21 4d 79 47 65 74 45 |.....if |(!MyGetE|
|00002440| 78 74 65 6e 64 65 64 49 | 74 65 6d 28 64 6c 67 2c |xtendedI|tem(dlg,|
|00002450| 7a 52 61 6e 67 65 46 72 | 6f 6d 49 74 65 6d 2c 20 |zRangeFr|omItem, |
|00002460| 26 6e 65 77 46 72 6f 6d | 29 20 7c 7c 0d 09 09 09 |&newFrom|) ||....|
|00002470| 09 09 09 21 4d 79 47 65 | 74 45 78 74 65 6e 64 65 |...!MyGe|tExtende|
|00002480| 64 49 74 65 6d 28 64 6c | 67 2c 7a 52 61 6e 67 65 |dItem(dl|g,zRange|
|00002490| 54 6f 49 74 65 6d 2c 20 | 26 6e 65 77 54 6f 29 29 |ToItem, |&newTo))|
|000024a0| 0d 09 09 09 09 09 09 7b | 09 69 74 65 6d 48 69 74 |.......{|.itemHit|
|000024b0| 20 3d 20 30 3b 0d 09 09 | 09 09 09 09 09 62 72 65 | = 0;...|.....bre|
|000024c0| 61 6b 3b 0d 09 09 09 09 | 09 09 7d 0d 09 09 09 09 |ak;.....|..}.....|
|000024d0| 09 69 66 20 28 6e 65 77 | 46 72 6f 6d 20 3e 3d 20 |.if (new|From >= |
|000024e0| 6e 65 77 54 6f 2b 31 65 | 2d 31 30 30 20 2b 20 66 |newTo+1e|-100 + f|
|000024f0| 61 62 73 28 6e 65 77 54 | 6f 29 2a 31 65 2d 31 34 |abs(newT|o)*1e-14|
|00002500| 29 0d 09 09 09 09 09 09 | 7b 09 4d 79 53 65 6c 65 |).......|{.MySele|
|00002510| 63 74 49 74 65 6d 54 65 | 78 74 28 64 6c 67 2c 7a |ctItemTe|xt(dlg,z|
|00002520| 52 61 6e 67 65 46 72 6f | 6d 49 74 65 6d 2c 20 30 |RangeFro|mItem, 0|
|00002530| 2c 20 30 78 37 46 46 46 | 29 3b 0d 09 09 09 09 09 |, 0x7FFF|);......|
|00002540| 09 09 69 74 65 6d 48 69 | 74 20 3d 20 30 3b 0d 09 |..itemHi|t = 0;..|
|00002550| 09 09 09 09 09 09 62 72 | 65 61 6b 3b 0d 09 09 09 |......br|eak;....|
|00002560| 09 09 09 7d 0d 09 09 09 | 09 09 53 65 74 47 72 61 |...}....|..SetGra|
|00002570| 66 52 61 6e 67 65 28 32 | 2c 20 6e 65 77 46 72 6f |fRange(2|, newFro|
|00002580| 6d 2c 20 6e 65 77 54 6f | 29 3b 0d 09 09 09 09 7d |m, newTo|);.....}|
|00002590| 0d 09 09 09 09 6d 69 6e | 52 6f 77 20 3d 20 6e 65 |.....min|Row = ne|
|000025a0| 77 4d 69 6e 52 6f 77 3b | 20 6d 61 78 52 6f 77 20 |wMinRow;| maxRow |
|000025b0| 3d 20 6e 65 77 4d 61 78 | 52 6f 77 3b 0d 09 09 09 |= newMax|Row;....|
|000025c0| 09 6d 69 6e 43 6f 6c 20 | 3d 20 6e 65 77 4d 69 6e |.minCol |= newMin|
|000025d0| 43 6f 6c 3b 20 6d 61 78 | 43 6f 6c 20 3d 20 6e 65 |Col; max|Col = ne|
|000025e0| 77 4d 61 78 43 6f 6c 3b | 0d 09 09 09 09 53 65 74 |wMaxCol;|.....Set|
|000025f0| 47 72 61 66 52 61 6e 67 | 65 28 30 2c 20 6d 69 6e |GrafRang|e(0, min|
|00002600| 43 6f 6c 2c 20 6d 61 78 | 43 6f 6c 29 3b 0d 09 09 |Col, max|Col);...|
|00002610| 09 09 53 65 74 47 72 61 | 66 52 61 6e 67 65 28 31 |..SetGra|fRange(1|
|00002620| 2c 20 6d 69 6e 52 6f 77 | 2c 20 6d 61 78 52 6f 77 |, minRow|, maxRow|
|00002630| 29 3b 0d 09 09 09 09 78 | 52 65 73 20 3d 20 28 6d |);.....x|Res = (m|
|00002640| 61 78 43 6f 6c 2d 6d 69 | 6e 43 6f 6c 29 2b 31 3b |axCol-mi|nCol)+1;|
|00002650| 0d 09 09 09 09 79 52 65 | 73 20 3d 20 28 6d 61 78 |.....yRe|s = (max|
|00002660| 52 6f 77 2d 6d 69 6e 52 | 6f 77 29 2b 31 3b 0d 09 |Row-minR|ow)+1;..|
|00002670| 09 09 09 64 61 74 61 57 | 69 6e 64 6f 77 20 3d 20 |...dataW|indow = |
|00002680| 6e 65 77 44 61 74 61 57 | 69 6e 64 6f 77 3b 0d 09 |newDataW|indow;..|
|00002690| 09 09 09 7a 41 75 74 6f | 6d 61 74 69 63 20 3d 20 |...zAuto|matic = |
|000026a0| 6e 65 77 41 75 74 6f 6d | 61 74 69 63 3b 0d 09 09 |newAutom|atic;...|
|000026b0| 09 09 62 72 65 61 6b 3b | 0d 09 09 09 7d 0d 09 09 |..break;|....}...|
|000026c0| 7d 2f 2f 73 77 69 74 63 | 68 0d 09 7d 77 68 69 6c |}//switc|h..}whil|
|000026d0| 65 20 28 69 74 65 6d 48 | 69 74 20 21 3d 20 6f 6b |e (itemH|it != ok|
|000026e0| 20 26 26 20 69 74 65 6d | 48 69 74 20 21 3d 20 63 | && item|Hit != c|
|000026f0| 61 6e 63 65 6c 29 3b 0d | 0d 09 47 65 74 47 6c 6f |ancel);.|..GetGlo|
|00002700| 62 61 6c 57 69 6e 64 6f | 77 52 65 63 74 28 64 6c |balWindo|wRect(dl|
|00002710| 67 2d 3e 64 69 61 6c 6f | 67 2c 20 26 73 65 74 75 |g->dialo|g, &setu|
|00002720| 70 44 69 61 6c 6f 67 52 | 65 63 74 29 3b 0d 09 4d |pDialogR|ect);..M|
|00002730| 79 44 69 73 70 6f 73 65 | 44 69 61 6c 6f 67 28 64 |yDispose|Dialog(d|
|00002740| 6c 67 29 3b 0d 09 69 66 | 20 28 69 74 65 6d 48 69 |lg);..if| (itemHi|
|00002750| 74 20 3d 3d 20 6f 6b 29 | 0d 09 09 72 65 74 76 61 |t == ok)|...retva|
|00002760| 6c 20 3d 20 43 61 6c 63 | 75 6c 61 74 65 44 61 74 |l = Calc|ulateDat|
|00002770| 61 41 72 72 61 79 28 29 | 3b 0d 0d 64 6f 6e 65 3a |aArray()|;..done:|
|00002780| 0d 09 69 66 20 28 6f 72 | 69 67 43 75 72 72 65 6e |..if (or|igCurren|
|00002790| 74 57 69 6e 64 6f 77 20 | 21 3d 20 30 29 09 09 09 |tWindow |!= 0)...|
|000027a0| 09 09 2f 2f 20 73 68 6f | 75 6c 64 20 77 65 20 72 |..// sho|uld we r|
|000027b0| 65 73 65 74 20 74 68 65 | 20 64 61 74 61 20 77 69 |eset the| data wi|
|000027c0| 6e 64 6f 77 20 3f 0d 09 | 09 53 65 74 43 75 72 72 |ndow ?..|.SetCurr|
|000027d0| 65 6e 74 57 69 6e 64 6f | 77 28 6f 72 69 67 43 75 |entWindo|w(origCu|
|000027e0| 72 72 65 6e 74 57 69 6e | 64 6f 77 29 3b 0d 09 72 |rrentWin|dow);..r|
|000027f0| 65 74 75 72 6e 20 72 65 | 74 76 61 6c 3b 0d 7d 0d |eturn re|tval;.}.|
|00002800| 0d 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002810| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002820| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002830| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002840| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002860| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002870| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002880| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00002890| 6f 72 6d 4e 61 6d 65 09 | 09 09 09 09 3d 20 27 6e |ormName.|....= 'n|
|000028a0| 61 6d 65 27 2c 09 09 09 | 09 09 09 2f 2a 20 20 30 |ame',...|.../* 0|
|000028b0| 12 50 6c 6f 74 33 44 44 | 61 74 61 52 6f 77 43 6f |.Plot3DD|ataRowCo|
|000028c0| 6c 2e 63 77 02 00 00 00 | 54 45 58 54 43 57 49 45 |l.cw....|TEXTCWIE|
|000028d0| 00 00 54 45 58 54 43 57 | 49 45 01 00 b2 44 b2 00 |..TEXTCW|IE...D..|
|000028e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028f0| 00 00 ad 7c b3 6d 00 00 | 27 81 00 00 01 9a 61 62 |...|.m..|'.....ab|
|00002900| 6f 76 65 29 2e 20 2a 2f | 0d 09 74 79 70 65 4f 62 |ove). */|..typeOb|
|00002910| 6a 65 63 74 53 70 65 63 | 69 66 69 65 72 09 09 09 |jectSpec|ifier...|
|00002920| 3d 20 27 6f 62 6a 20 27 | 2c 09 09 09 09 09 09 2f |= 'obj '|,....../|
|00002930| 2a 20 20 30 78 36 66 36 | 32 36 61 32 30 20 20 2a |* 0x6f6|26a20 *|
|00002940| 2f 0d 09 74 79 70 65 4f | 62 6a 65 63 74 42 65 69 |/..typeO|bjectBei|
|00002950| 6e 67 45 78 61 6d 69 6e | 65 64 09 09 3d 20 27 65 |ngExamin|ed..= 'e|
|00002960| 78 6d 6e 27 2c 09 09 09 | 09 09 09 2f 2a 20 20 30 |xmn',...|.../* 0|
|00002970| 78 36 35 37 38 36 64 36 | 65 20 20 2a 2f 0d 09 74 |x65786d6|e */..t|
|00002980| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00002990| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029a0| 00 00 00 00 00 00 00 03 | 00 04 00 58 00 04 03 61 |........|...X...a|
|000029b0| 02 5e 00 58 00 04 03 61 | 02 5e ae 14 67 50 00 00 |.^.X...a|.^..gP..|
|000029c0| 16 52 00 00 16 52 00 00 | 10 b6 01 09 00 00 00 04 |.R...R..|........|
|000029d0| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|000029e0| 00 00 00 46 02 95 ff 8c | 36 b8 00 00 00 1c 00 46 |...F....|6......F|
|000029f0| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00002a00| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00002a10| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|00002a20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+